Variablen und Konstanten vereinbaren

1. Variablen vereinbaren

Eine Variable vereinbaren (deklarieren) heisst ihr einen Namen und einen Datentyp zuordnen. In Visual Basic geschieht dies mit Anweisungen der Art Umsatz As Integer oder Name As String. Datentyp-Vereinbarungen bringen die folgenden Vorteile:

Tabellenblatt-Zellen verhalten sich ähnlich wie Variablen. Die Zelle B2 ist zum Beispiel wie eine Variable eine “Schublade” für einen sich ändernden Zahlen- oder Textwert. Ordnen wir der Zelle den Namen Umsatz zu, so ist die Ähnlichkeit zu einer mit Umsatz As Double deklarierten Variable noch klarer. Der einzige Unterschied besteht darin, dass wir VBA-Variablen explizit deklarieren, während Excel einer Zelle implizit (automatisch) einen Datentyp zuordnet. Ist der Zellinhalt zum Beispiel “Apfelsaft”, dann ordnet Excel den Datentyp String zu.

Eine Variable vereinbaren heisst einem Speicherplatz einen Namen (1) und einen Datentyp (2) zuordnen. Die Vereinbarung einer Variablen besteht deshalb nur aus einem Namen und seinem Datentyp:

Dim Umsatz As Integer
Dim Name As String

2. Konstanten vereinbaren

Das Schlüsselwort Dim ist die Abkürzung für dimensionieren, das heisst die Grösse und Art eines Speicherplatzes bemessen. Die Vereinbarung einer Konstante enthält neben dem Namen (1) der Konstanten und ihrem Datentyp (2) auch einen Wert (3):

Const Grenze As Integer = 1000

Grenze ist eine benannte Konstante (engl. named constant). Jedesmal wenn sie im Programm vorkommt, ersetzt VBA Grenze durch die unbenannte Konstante 1000. 

3. Lebenszyklus einer Variablen

Während eine benannte Konstante bei der Vereinbarung einen festen Wert erhält, kann sich der Wert einer Variablen während der Programmdauer beliebig oft ändern. Der wichtigste Operator, der den Wert einer Variablen ändert, ist der Zuweisungsoperator =. Die Zuweisungsoperation setzt voraus, dass sich die Datentypen auf der linken und rechten Seite von = vertragen. Die erste der drei folgenden Zuweisungen verträgt sich mit den beiden Vereinbarungen, die übrigen nicht:

Dim Umsatz As Integer
Dim Name As String
Umsatz = 1000
Name = 4711 ‘ Richtig wäre “4711”
Umsatz = “tausend” ‘ Richtig wäre 1000

Der Lebenszyklus einer Variablen umfasst die Vereinbarung, die Initialisierung und beliebig viele Fortschreibungen. Die Vereinbarung einer Variablen muss - im Gegensatz zur Konstantenvereinbarung - keinen Anfangswert enthalten. Dies bleibt einer späteren Initialisierungsanweisung vorbehalten (zum Beispiel mit Umsatz = 1000). Verbreitete Beispiele für die Fortschreibung einer Variablen sind die Aggregation und Desaggregation. Die erste der folgenden Zuweisungen ist eine Aggregation, die zweite eine Desaggregation:

Umsatz = Umsatz + 10000
Umsatz = Umsatz - 1000

Umsatz = Umsatz + 10000 macht als mathematische Gleichung keinen Sinn. = ist hier allerdings nicht Gleichheits- sondern Zuweisungsoperator. Wir werden sehen, dass der Kontext immer klar macht, ob = ein Zuweisungs- oder Gleichheitsoperator ist.